//package com.zmn.plat.dubbo.interfaces.product.productgroup;
//
//import com.zmn.common.dto.VtDTO;
//import com.zmn.common.dto2.ResponseDTO;
//import com.zmn.plat.common.dto.product.productgroup.ProductGroupDRO;
//import com.zmn.plat.common.dto.product.productgroup.ProductGroupNameAndBizTypeDRO;
//import com.zmn.plat.dubbo.utils.DubboConsts;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//
//import javax.validation.constraints.NotEmpty;
//import javax.validation.constraints.NotNull;
//import javax.validation.constraints.Positive;
//import javax.validation.constraints.Size;
//import java.util.List;
//
///**
// * 产品组dubbo接口类
// *
// * @auther: tanghongjun
// * @since: 2020年8月25日10:12:18
// */
//@Api(value = "产品组远程服务", tags = {"产品组"})
//public interface ProductGroupListRemoteService {
//
//    /**
//     * 描述:根据分组ID获取分组名称
//     *
//     * @param groupId 分组ID
//     * @return VtDTO(groupId, groupName)
//     * @auther tanghongjun
//     * @since 2020/9/15
//     */
//    @ApiOperation(value = "根据分组ID获取分组名称", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<VtDTO> getNameVtById(@NotNull(message = "groupId不能为空") @Positive(message = "groupId必须为大于0的正整数") @ApiParam(value = "groupId", required = true) Integer groupId);
//
//    /**
//     * 描述:根据分组ID集合获取分组名称
//     *
//     * @param groupIdList 分组ID集合
//     * @return List<ProductGroupNameAndBizTypeDRO>
//     * @auther tanghongjun
//     * @since 2020/9/15
//     */
//    @ApiOperation(value = "根据分组ID集合获取分组名称", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<ProductGroupNameAndBizTypeDRO>> listNameAndBizTypeVtByIdList(@NotEmpty(message = "groupIdList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//            message = "groupIdList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "产品组ID集合", required = true) List<Integer> groupIdList);
//
//    /**
//     * 状态查询树形关联关系数据,mcc权限分配树形结构专用
//     *
//     * @param status
//     * @return List<ProductGroupVO>
//     * @author tanbiao
//     * @modifier
//     * @since 2020/10/29 16:06
//     */
//    @ApiOperation(value = "状态查询树形关联关系数据", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<ProductGroupDRO>> listTreeByStatus(@NotNull(message = "status不能为空") @Positive(message = "status必须为大于0的正整数") @ApiParam(value = "status", required = true) Integer status);
//
//    /**
//     * 描述: 根据业务类型和产品组名称查询产品组信息
//     *
//     * @param bizType 业务类型 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(VtDTO)
//     * @auther: tanghongjun
//     * @since: 2020年8月25日10:02:08
//     */
//    @ApiOperation(value = "根据业务类型和产品组名称查询产品组信息", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<VtDTO>> listVtByNameListAndBizType(@NotNull(message = "bizType不能为空") @Positive(message = "bizType必须为大于0的正整数") @ApiParam(value = "bizType", required = true) Integer bizType,
//                                                        @NotEmpty(message = "nameList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//                                                                message = "nameList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "产品组名称集合", required = true) List<String> nameList);
//
//    /**
//     * 描述: 根据业务类型查询产品组信息
//     *
//     * @param bizType 业务类型 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(VtDTO)
//     * @auther: tanghongjun
//     * @since: 2020年8月25日10:02:08
//     */
//    @ApiOperation(value = "根据业务类型查询产品组信息", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<VtDTO>> listVtByBizType(@NotNull(message = "bizType不能为空") @Positive(message = "bizType必须为大于0的正整数") @ApiParam(value = "bizType", required = true) Integer bizType,
//                                             @Positive(message = "status必须为大于0的正整数") Integer status);
//
//    /**
//     * 描述: 根据业务类型集合查询产品组信息
//     *
//     * @param bizTypeList 业务类型集合 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(VtDTO)
//     * @auther: tanghongjun
//     * @since: 2020年8月25日10:02:08
//     */
//    @ApiOperation(value = "根据业务类型集合查询产品组信息", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<VtDTO>> listVtByBizTypeList(@NotEmpty(message = "bizTypeList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//            message = "bizTypeList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "业务类型集合", required = true) List<Integer> bizTypeList,
//                                                 @Positive(message = "status必须为大于0的正整数") Integer status);
//
//    @ApiOperation(value = "根据业务类型集合查询产品组信息", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<ProductGroupDRO>> listByBizTypeList(@NotEmpty(message = "bizTypeList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//            message = "bizTypeList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "业务类型集合", required = true) List<Integer> bizTypeList,
//                                                         @Positive(message = "status必须为大于0的正整数") Integer status);
//
//
//    /**
//     * 描述: 根据业务线查询产品组信息
//     *
//     * @param businessLineId 业务线id
//     * @return List(VtDTO)
//     * @auther: tanbiao
//     * @since: 2021年1月6日10:02:08
//     */
//    @ApiOperation(value = "根据业务类型查询产品组信息", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<VtDTO>> listVtByBusinesslineIdAndStatus(@NotNull(message = "businessLineId不能为空") @Positive(message = "businessLineId必须为大于0的正整数") @ApiParam(value = "businessLineId", required = true) Integer businessLineId,
//                                                             @Positive(message = "status必须为大于0的正整数") Integer status);
//
//    /**
//     * 根据groupid集合和状态查询分组信息
//     *
//     * @param status
//     * @return List<ProductGroupVO>
//     * @author tanbiao
//     * @modifier
//     * @since 2020/10/29 16:06
//     */
//    @ApiOperation(value = "状态查询树形关联关系数据", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<ProductGroupDRO>> listByGroupIdsAndStatus(@NotEmpty(message = "groupIdList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//            message = "groupIdList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "分组id集合", required = true) List<Integer> groupIdList,
//                                                               @Positive(message = "status必须为大于0的正整数") Integer status);
//
//
//    /**
//     * 根据groupid集合和状态查询分组信息
//     *
//     * @return List<ProductGroupVO>
//     * @author tanbiao
//     * @modifier
//     * @since 2020/10/29 16:06
//     */
//    @ApiOperation(value = "获取有效的产品分组信息", response = ResponseDTO.class, notes = "", tags = {"ProductGroup"})
//    ResponseDTO<List<ProductGroupDRO>> listAllProductGroup();
//
//
//}
